Craftsmanship

Eric Wilhelm on 2006-09-12T21:54:55

A machinist, a writer, and a hacker walk into a Perl Mongers meeting...

We're doing a panel on craftsmanship for the September meeting of the Portland Perl Mongers. I'm throwing these difficult questions to a panel of three craftsmen (all of whom have done at least some work with software.)

  • In a world of rough carpentry, does craftsmanship matter?
  • The bottom line is important, but which one?
  • What effect does open-source have?

Of course the venue implies that there will be a "with regard to Perl" bent to the discussion, but 2/3 of the panel doesn't know too much Perl, so there will also be a healthy dose of "with regard to software in general" involved.

Perl may have a reputation as a write-only language, but I've found that many of the best Perl hackers have an impressive command of software engineering/architecture concepts. (And many of Portland's own are working on large systems in Perl.) With some of the modules on CPAN and the work on Perl6, perl has started to acquire advanced concepts such as metaprogramming and domain-specific languages. It's obvious that this is not Perl4 anymore, even if the kids in the back of the class haven't noticed. Yes, there's still enough rope to shoot yourself in the foot with, but a good butcher knows that the bandsaw will always take his arm off faster than it cuts a side of beef.

Should be a fun evening of mixed metaphors about all things Craftsmanship, possibly some answers, and beer at the end.

I realize some of the readers here won't be in Portland for the meeting (why not?) but I'm interested in hearing comments from the rest of perl-land and I'll make sure to get the podcast link on the kwiki ASAP (read that as: "bug me if you're still anxiously awaiting it at the end of next week".)


The Nature and Art of Workmanship

danboo on 2006-09-13T12:49:59

This reminds me that I need to re-read David Pye's "The Nature and Art of Workmanship" with programming in mind instead of woodworking.

http://www.amazon.com/Nature-Art-Workmanship-David-Pye/dp/0964399903/

Likewise, it might be interesting to see a panel discuss Pye's ideas of workmanship in the context of programming.

programming as abstract craftmanship

mr_bean on 2006-09-14T04:25:31

The difference between woodworking and programming is the difference between a creating a physical thing and abstract idea in the mind.

So programming is more like writing or mathematics. Differently than math, however, the program does something.

I guess it is like an abstract woodwork.

I think the idea of craftmanship is interesting in the context of programming. The mixed reactions to the book of David Pye on Amazon about workmanship suggest pursuing the idea, however, might not be profitable.

Re:programming as abstract craftmanship

Aristotle on 2006-09-15T00:07:40

I think that of any discipline, programming is definitely most similar to writing. It sometimes involves mathematics, and on some occasions heavily so, but it’s almost never like mathematics. (Not more so than it is like any other random discipline, which suggests that it is little that it has particularly in common with any of these disciplines – or mathematics.) The famous Abelson/Sussman quote about execution only being incidental probably sums it best.

It’s kinda funny, actually, how rarely “writing” comes up as a simile in literature that tries to liken programming to some other discipline. Mathematics, logic and engineering top the list; then follows a host of other arts; and at last among the also-rans, we find writing. Considering what a programmer does, at a very superficial level (ie. type stuff into a keyboard), you’d assume the mere similarity would point people in that direction at least naïvely. Yet it seems everyone goes looking in loftier spheres first. Maybe noone even thinks about the physical act of programming when they first begin to contemplate the subject?